Computer-aided-design (CAD) has achieved wide popularity in a number of industries, as it provides an efficient way to design and model three-dimensional solids. As a result, many organizations have large databases of models that correspond to legacy assemblies. These models vary widely in type, however, and many of these model types were designed to be compact in order to reduce storage size and computational complexity.
For example, while it is common today to represent three-dimensional solids in a precise way using boundary representation (BRep), many legacy models exist only in a simplified, less precise form—e.g., as tessellated models. These tessellated models were generally derived from BRep models to save space and facilitate viewing large assemblies. Because tessellated models approximate curved surfaces using planar regions, the geometric properties of the model (such as areas and number of components) and the physical properties (such as mass properties) are different from those of the ideal, precise model. For example, the center-of-gravity and principal axes of tessellated models can vary significantly from the precise model.
It is therefore desirable to replace the relatively imprecise simplified models with precise, boundary-representation models in a CAD assembly. In many systems, this involves providing an “instance” of an authoritative (or “master”) model, and applying a rigid body motion (rotation and translation) to that model such that it spatially matches the target model. This is a difficult task, however, as it is not trivial to determine the appropriate rigid body motion which will position the exact model—the master—at the position occupied by the simplified, target model. The mass properties of the target model—center of gravity, principal axes, etc.—cannot be used to achieve this, because, as stated above, their values are sufficiently different from those of the master model that accurate positioning cannot be achieved.
While a human operator might be able to place models in the correct location on a part-by-part basis, it is an intractable task for such an operator to do so for an entire assembly, as such assemblies might include thousands or even millions of individual models. It is therefore desirable to automate this task.
Accordingly, there is a need for efficient and automatic positioning of modeled parts having diverse types. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the preceding technical field and background.